home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / snpd1292.zip / COLDBOOT.ASM < prev    next >
Assembly Source File  |  1992-12-26  |  1KB  |  43 lines

  1. ; by: David Nugent via ECPROG echo
  2. ;
  3. ; works VERY reliably under all the protected mode environments I've
  4. ; tried (namely DV and PC-MOS). Haven't tried VM386 or NX386 yet, but
  5. ; I'm hopeful.... ;-)
  6.  
  7.  
  8. BIOS_POST  equ    0472H        ; POST (warm boot) flag
  9.  
  10.  
  11.         xor BX,BX               ; AL=1 for warm boot, 0 for cold
  12.         mov ES,BX
  13.         cmp AL,1
  14.         jnz @NcB
  15.         mov AX,1234H            ; Avoid POST
  16. @NcB:
  17.         mov ES:[BIOS_POST],AX   ; Install flag
  18.  
  19.         cli                     ; Reboot
  20.         xor AX,AX
  21.         mov DS,AX
  22.         mov ES,AX
  23.         mov SS,AX
  24.         mov SP,AX
  25. @cP:
  26.         in AL,64H               ; Wait on AT keyboard controller
  27.         test AL,2
  28.         jne @cP
  29.  
  30.         xor AL,AL               ; Try reset lines
  31.         out 64H,AL
  32.         iodelay
  33.         mov AL,0FEh
  34.         out 64H,AL
  35.         iodelay
  36.         mov AX,0002H            ; Jump to reset vector
  37.         push AX                 ; via IRET
  38.         mov AX,0F000H
  39.         push AX
  40.         mov AX,0FFF0H
  41.         push AX
  42.         iret
  43.